package com.itheima.练习.快排;

public class MyQuiteSortDemo2 {
    public static void main(String[] args) {

        int[] arr = {6, 1, 2, 7, 9, 3, 4, 5, 10, 8};
        method(arr,0,arr.length-1);
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+"  ");
        }

    }

    private static void method(int[]arr,int left,int right) {
        if (right<left){
            return;
        }
        int left0=left;
        int right0=right;
        //计算出基准数
        int baseNum=arr[left0];
        while (left!=right){
            //1，从右开始找比基准数小的,如果右边的数大于基准数和左边的数
            while (arr[right]>=baseNum&&right>left){
                //那么继续往左边找
                right--;
            }
            //2，从左开始找比基准数大的,如果左边数小于右边数继续往右找
            while (arr[left]<=baseNum&&left<right){
                left++;
            }
            //3，交换两个值的位置
            int temp=arr[left];
            arr[left]=arr[right];
            arr[right]=temp;
        }
            //5，基准数归位
            int temp=arr[left];
            arr[left]=arr[left0];
            arr[left0]=temp;

       method(arr,left0,left-1);
       method(arr,left+1,right0);

    }



}
